This invention relates to a storage device, and more particularly relates to a control technology for a disk cache.
Along with recent progress in semiconductor technology, speed of semiconductor memories has been getting faster. On the other hand, storage systems such as hard disk drives have not increased their speed as much as the semiconductor memories because they have mechanical components such as motor. For example, while an access time (latency) of a typical semiconductor memory is in an order ranging from some ten nanoseconds to some hundreds nanoseconds, a latency of the hard disk drive is some milliseconds. In this way, a large difference exists in latency between the semiconductor memories and the hard disk drives, so the hard disk drives tend to be a bottleneck of computer systems.
To alleviate the difference, a technology has been developed to reduce the latency of the storage system by installing semiconductor memories on the storage system, and storing frequently used data in the semiconductor memories. The semiconductor memories provide a property similar to a cache in a CPU, and are thus referred to as a disk cache.
When data required by a host computer is stored in the disk cache, the host computer can access the data with the latency of the semiconductor memory in principle. As described above, the latency of the hard disk is some ten thousand times as long as the latency of the semiconductor memory, and the disk cache has a very large effect on shortening the latency.
When the host computer accesses data in the storage system, and the disk cache holds the data, this state is referred to as cache hit, and when the disk cache does not hold the data, this state is referred to as cache miss. A percentage of the cache hit is referred to as cache hit rate or hit rate. The higher the hit rate is, statistically the shorter the latency of the storage system is, and the more the performance of the storage system increases.
Thus, in order to increase the capability of the storage system, it is necessary to install a large capacity of the disk cache (i.e. semiconductor memories). However, a cost per capacity (referred to as bit cost) of the semiconductor memory is some hundreds times as much as a bit cost of the hard disk drive, and it is impossible to install an unlimited amount of the disk cache (semiconductor memories). In other words, for the disk cache, there is a trade-off relation between the performance and the cost.
Recently many enterprises have been consolidating a plurality of storage systems (hereinafter, sometimes called “plural storage systems”) into a single large storage system. This consolidation is referred to as a storage consolidation in enterprise-level computing market. The storage consolidation provides several advantages.
As a first advantage, management tasks can be simplified and unified.
When there are plural storage systems, and these systems consist of many different kinds of storage systems, an operation method varies from one storage system to another, and it is thus necessary to respectively assign independent administrators. The consolidation of the storage systems can reduce the number of administrators to one, resulting in a reduction of a labor cost of the administrators.
Moreover, although a single administrator may manage the different kinds of storage systems, the management tasks become cumbersome, and a burden on the administrator increases. Specifically, Each of the storage systems has a different operation procedure from that of others', thus the administrator has to learn operation procedures corresponding to each storage system. It is a burden to the administrator. The consolidation of the storage systems to a single storage system can simplify the management tasks, resulting in reducing the burden on the administrator.
As a second advantage, the utilization of a storage resource increases.
Generally, an entire capacity is not used in a storage system. When users run out of the entire capacity, the users cannot continue tasks thereof. An administrator always maintains a standby capacity within a storage system to prevent an interruption of tasks. If there are plural storage systems, it is necessary to have a standby capacity for the each storage system.
For example, when a certain storage system has an enough standby capacity, and another storage system is running out of its standby capacity, the administrator cannot move the standby capacity from the first storage system to the second storage system. The administrator has to purchase an additional hard disk drive for the second storage system. In other words, although a standby capacity is available in the plural storage systems as a whole, the standby capacity cannot be utilized effectively.
When the storage systems are consolidated into a single storage system, above-described state does not occur where the standby capacity cannot be used while there is enough standby capacity as a whole. Therefore, the administrator can reduce the standby disk capacity installed on the storage system compared with the case not consolidated. Therefore the users can reduce the cost as a whole. In other words, the storage consolidation brings about an increase in the investment efficiency of the purchased storage resource for the users.
Although the storage consolidation realizes the above advantages for the users, it is necessary to take proper care.
The storage consolidation results in a configuration where plural host computers are connected to a single storage system. As a result, the plural host computers share a disk cache. The host computers are in charge of various tasks, and have various access patterns to the storage system.
For example, there will be considered an example where a certain computer accesses to the storage system more frequently than other host computers. When the disk cache employs an LRU (Least Recently Used) algorithm, which is the most commonly used, the host computer with high access rate uses most of the disk cache capacity, and a capacity of the disk cache available for the other computers becomes extremely small.
This results from the LRU algorithm keeping data accessed recently in the disk cache. This obstructs the other host computers' task.
In view of the foregoing problems, there has been devised a technology which enables an administrator to set capacities of the disk cache available for the respective host computers. This technology is disclosed in JP 1996-147218 A, JP 2000-139349 A, and U.S. Pat. No. 6,728,836. In those patent documents, capacities of a disk cache are allocated to respective host computers. In other words, since a user can designate upper limits of the capacities of the disk cache available for the respective host computers, a single computer will not use most of the disk cache, and the latency of the storage system will not increase for the other host computers.